package com.ctshk.rpc.system.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.system.dto.mian.data.MainDataDeductionRulesDTO;
import com.ctshk.rpc.system.dto.mian.data.MainDataNotGroupRulesDTO;
import com.ctshk.rpc.system.req.main.data.*;

/**
 * <p>
 * 退团扣费规则 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-01-26
 */
public interface IMainDataDeductionRulesService  {
    /**
     * 新增不成团退费规则
     * @param req 不成团退费规则
     * @param tokenUser 用户属性
     */
    Result add(MainDataDeductionRulesReq req, TokenUser tokenUser);


    /**
     * 查询不成团退费规则 列表
     * @param req 不成团退费规则 查询条件
     * @return 不成团退费规则 信息列表
     */
    PageResponse<MainDataDeductionRulesDTO> queryList(MainDataDeductionRulesQueryReq req);

    /**
     * 删除不成团退费规则
     * @param mainDataDeductionRulesIdReq 不成团退费规则 id
     * @param tokenUser 登录用户属性
     */
    Result delete(MainDataDeductionRulesIdReq mainDataDeductionRulesIdReq, TokenUser tokenUser);

    /**
     * 修改不成团退费规则
     * @param mainDataNotGroupRulesReq 旅客不成团退费规则
     * @param tokenUser 登录用户属性
     */
    Result update(MainDataDeductionRulesUpdateReq mainDataNotGroupRulesReq, TokenUser tokenUser);

    /**
     * 设置状态接口
     * @param req 不成团退费规则 id
     * @param tokenUser 登录用户属性
     */
    Result updateStatus(MainDataDeductionRulesIdReq req, TokenUser tokenUser);

    /**
     * 查询不成团退费规则 列表
     * @param req 不成团退费规则 查询条件
     * @return 不成团退费规则 信息列表
     */
    MainDataDeductionRulesDTO query(MainDataDeductionRulesIdReq req);
}
